<?php
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// NOTICE OF COPYRIGHT                                                    //
//                                                                        //
// Dean`s Office for Moodle                                               //
// Электронный деканат                                                    //
// <http://deansoffice.ru/>                                               //
//                                                                        //
// Copyright (C) 2008-2999  Alex Djachenko (Алексей Дьяченко)             //
// alex-pub@my-site.ru                                                    //
// Copyright (C) 2008-2999  Evgenij Cigancov (Евгений Цыганцов)           //
// Copyright (C) 2008-2999  Ilia Smirnov (Илья Смирнов)                   // 
// Copyright (C) 2008-2999  Mariya Rojayskaya (Мария Рожайская)           // 
//                                                                        //
// This program is free software: you can redistribute it and/or modify   //
// it under the terms of the GNU General Public License as published by   //
// the Free Software Foundation, either version 3 of the Licensen.        //
//                                                                        //
// This program is distributed in the hope that it will be useful,        //
// but WITHOUT ANY WARRANTY; without even the implied warranty of         //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          //
// GNU General Public License for more details.                           //
//                                                                        //
// You should have received a copy of the GNU General Public License      //
// along with this program.  If not, see <http://www.gnu.org/licenses/>.  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

/**
 * Здесь происходит объявление класса формы, 
 * на основе класса формы из плагина modlib/widgets. 
 * Подключается из init.php. 
 */
// Подключаем библиотеки
require_once('lib.php');
// подключаем библиотеку форм
$DOF->modlib('widgets')->webform();

/**
 * Форма 
 */
class dof_im_guestbook_form extends dof_modlib_widgets_form
{

    /**
     * @var addvars - массив GET-параметров для генерации ссылок
     */
    protected $addvars;

    /**
     * @var dof_control
     */
    protected $dof;

    /**
     * @var object - объект индивидуального учебного плана
     */
    protected $lp;

    /**
     * @var int -id подразделения в таблице departments, в котором происходит работа
     */
    protected $departmentid = 0;

    /**
     * @var string - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' 
     */
    protected $type;

    /**
     * @var int - id из таблицы programmsbcs или agroups
     */
    protected $typeid;

    protected function im_code()
    {
        return 'guestbook';
    }

    protected function storage_code()
    {
        return 'guestbook';
    }

    protected function workflow_code()
    {
        return $this->storage_code();
    }

    /**
     * @see parent::definition()
     */
    public function definition()
    {
        $this->dof = $this->_customdata->dof;
        $mform     = $this->_form;

        $elementgroup = array();
        $elementgroup[] = $mform->createElement('text', 'name', '', array('size' => '30', 'maxlength' => '255'));
        $mform->setType('name', PARAM_TEXT);

        $mform->addGroup($elementgroup, 'name_group', $this->dof->get_string('name', 'guestbook', null, 'im'), ' ', false);


        $mform->addElement('textarea', 'message', $this->dof->get_string('messagesname', 'guestbook', null, 'im'), 'wrap="virtual" rows="20", cols="80"');
        $mform->setType('message', PARAM_TEXT);

        $this->add_action_buttons(false, $this->dof->get_string('send', 'guestbook', null, 'im'));
    }

    /**
     * Обработчик событий.
     */
    public function process()
    {
        $this->dof = $this->_customdata->dof;
        $main_url  = new moodle_url("index.php");

        if ( ($fromform = $this->get_data() ) )
        {
            $this->set_data(" ");
            $this->dof->storage('messages')->set_message($fromform->name, $fromform->message);
            redirect($main_url);
        } else if ( ($messageid = optional_param('messageid', null, PARAM_INT) ) )
        {
            $this->dof->storage('messages')->delete_message($messageid);
            redirect($main_url);
        } else if ( ($commentid = optional_param('commentid', null, PARAM_INT) ) )
        {
            $this->dof->storage('comments')->delete_comment($commentid);
            redirect($main_url);
        }
    }
}

?>